package com.retrofit.server.processor.entity;

import com.okhttp.annotations.ApiGenerateService;
import java.util.List;
import javax.lang.model.element.Modifier;
import javax.lang.model.type.TypeMirror;

/**
 * @author YLG
 * @Datetime 2020/5/8-10:21 PM
 * @Version v1.0
 * @description 实现类描述
 */
public class ClassEntity {
  /**注释*/
  private String javadoc;

  /** package Name */
  private String packageName;

  /** class Name */
  private String clazzName;

  /**修饰符*/
  private Modifier[] classModifiers;

  /**
   * 属性集
   */
  private List<FieldEntity> mFieldEntityList;
  
  /**
   * 方法集
   */
  private List<MethodEntity> mMethodEntityList;
  
  
  /**
   * 类注解class值
   * @see ApiGenerateService#value()
   */
  private TypeMirror apiGenerateService;
  
  /**
   * 是否生成服务方法
   */
  private boolean isGenerateMehtod;
  
  /**
   * 是否使用Handler中的方法
   */
  private boolean isUseHandlerMehthod;

  
  public Modifier[] getClassModifiers() {
    return classModifiers;
  }
  
  public void setClassModifiers(Modifier[] classModifiers) {
    this.classModifiers = classModifiers;
  }
  
  public TypeMirror getApiGenerateService() {
    return apiGenerateService;
  }
  
  public void setApiGenerateService(TypeMirror apiGenerateService) {
    this.apiGenerateService = apiGenerateService;
  }
  
  public boolean isGenerateMehtod() {
    return isGenerateMehtod;
  }
  
  public void setGenerateMehtod(boolean generateMehtod) {
    isGenerateMehtod = generateMehtod;
  }
  
  public boolean isUseHandlerMehthod() {
    return isUseHandlerMehthod;
  }
  
  public void setUseHandlerMehthod(boolean useHandlerMehthod) {
    isUseHandlerMehthod = useHandlerMehthod;
  }
  
  public String getJavadoc() {
    return javadoc;
  }
  
  public void setJavadoc(String javadoc) {
    this.javadoc = javadoc;
  }
  
  public String getPackageName() {
    return packageName;
  }
  
  public void setPackageName(String packageName) {
    this.packageName = packageName;
  }
  
  public String getClazzName() {
    return clazzName;
  }
  
  public void setClazzName(String clazzName) {
    this.clazzName = clazzName;
  }
  
  public List<FieldEntity> getFieldEntityList() {
    return mFieldEntityList;
  }
  
  public void setFieldEntityList(List<FieldEntity> fieldEntityList) {
    mFieldEntityList = fieldEntityList;
  }
  
  public List<MethodEntity> getMethodEntityList() {
    return mMethodEntityList;
  }
  
  public void setMethodEntityList(List<MethodEntity> methodEntityList) {
    mMethodEntityList = methodEntityList;
  }
}
